package controleur;


import hibernate.HibernateUtil;
import hibernate.Prevision;



import java.io.*; 
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;


import javax.imageio.ImageIO;
import javax.servlet.*; 
import javax.servlet.http.*; 
import javax.swing.JButton;
import javax.swing.JOptionPane;


import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;

import org.jfree.chart.*; 
import java.text.DateFormat;
import java.text.SimpleDateFormat;

public class AjouterModifs extends HttpServlet { 

 	
	public float calculmodif(float pourcent,Integer quantite){
		float resultat=quantite;
		resultat=quantite+(quantite*(pourcent/100));
		return resultat;
	}
	
	
	
	
	public void ajouterPrev(Integer id_site, Integer id_produit, String methode, Integer passe, Integer futur, Date date, Integer quantite, String levier, float valeur, Date date_calcul) throws HibernateException{
		Session session = HibernateUtil.currentSession();
		//Prevision prev =(Prevision) session.load(Prevision.class, new Integer(Param_id));  
		
		net.sf.hibernate.Transaction tx = session.beginTransaction();

		Prevision prev = new Prevision();

		prev.setLevier(levier);
		prev.setValeur(valeur);
		prev.setQuantite(quantite);
		prev.setDate(date);
		prev.setDate_Calcul(date_calcul);
		prev.setHorizonFutur(futur);
		prev.setHorizonPasse(passe);
		prev.setIdProduit(id_produit);
		prev.setIdSite(id_site);
		prev.setMethode(methode);
		session.save(prev);
		tx.commit();

		HibernateUtil.closeSession();
	}
	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException { 
    
	

  } 
  
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
	 
	 HttpSession session = request.getSession();
	 
	 
	 	Locale locale = Locale.getDefault();
	 	Date actuelle = new Date();
	 	Integer resultat=0;
		
//		* Definition du format utilise pour les dates
	 	DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");

//		* Donne la date au format "aaaa-mm-jj"

			String dat = dateFormat.format(actuelle);
			
	Prevision prev = null;
	float vallevier=Float.valueOf(request.getParameter("valeurlevier").trim()).floatValue(); 
	
	
	 List<?> list;
	 List<?> list2;

	 
	 try {
		 
		list=(List<?>) session.getAttribute("lignesprev");
		 
		 Iterator<?> itR = list.iterator();
			while (itR.hasNext()) {

				prev = (Prevision) itR.next();
				
				resultat=(int) calculmodif(vallevier,prev.getQuantite());
		
				ajouterPrev(prev.getIdSite(),prev.getIdProduit(),"",0,0,prev.getDate(),resultat,request.getParameter("typelevier"),vallevier,actuelle);
				
				 
			}

	} catch (HibernateException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
	 
	
	 getServletContext().getRequestDispatcher("/Zoomer").forward(request, response);
	
	 
	 
	  
	 
	}
}